package br.com.egg.finances.view;

import java.util.List;

import br.com.egg.finances.business.dao.DAOFactory;
import br.com.egg.finances.model.CentroCusto;

public class CentroCustoBean extends EntityBean {

	private CentroCusto centroCusto;
	private List<CentroCusto> centroCustoList;

	public CentroCusto getCentroCusto() {
		if (centroCusto == null) {
			centroCusto = new CentroCusto();
			centroCusto.setCdUsuario(retornaUsuarioSession().getCdUsuario());
		}
		return centroCusto;
	}

	public void setCentroCusto(CentroCusto centroCusto) {
		this.centroCusto = centroCusto;
	}

	public List<CentroCusto> getCentroCustoList() {
		if (centroCustoList == null) {
			setCentroCustoList(DAOFactory.getCentroCustoDAO().findAll(retornaUsuarioSession().getCdUsuario()));
		}
		return centroCustoList;
	}

	public void setCentroCustoList(List<CentroCusto> centroCustoList) {
		this.centroCustoList = centroCustoList;
	}
	
	public String salvar() {
		try {
			DAOFactory.getCentroCustoDAO().insert(centroCusto);
			
			centroCusto = null;
			centroCustoList = null;
			
			adicionaMensagemSucesso("Centro de custo inserido com sucesso.");
		} catch (Exception e) {
			trataException(e);
		}
		return null;
	}
	
	public String atualizarTodos() {
		try {
			for (CentroCusto cc : centroCustoList) {
				DAOFactory.getCentroCustoDAO().update(cc);
			}
			
			centroCustoList = null;
			
			adicionaMensagemSucesso("Centros de custo atualizados com sucesso.");
		} catch (Exception e) {
			trataException(e);
		}
		return null;
	}
	
	public String deletar() {
		try {
			DAOFactory.getCentroCustoDAO().delete(centroCusto);
			
			centroCustoList = null;
			centroCusto = null;
			
			adicionaMensagemSucesso("Centro de custo deletado com sucesso.");
		} catch (Exception e) {
			trataException(e);
		}
		return null;
	}

}
